TABLE OF CONTENTS
frameclass/--background--
frameclass/FRM_BackFill
frameclass/FRM_CenterTitle
frameclass/FRM_CustomHook:FRM_BackFillHook
frameclass/FRM_EdgesOnly
frameclass/FRM_Flags
frameclass/FRM_FrameHeight
frameclass/FRM_FrameWidth
frameclass/FRM_HighlightTitle
frameclass/FRM_Recessed
frameclass/FRM_Template
frameclass/FRM_TextAttr
frameclass/FRM_ThinFrame
frameclass/FRM_Title
frameclass/FRM_TitleID
frameclass/FRM_TitleLeft
frameclass/FRM_TitleRight
frameclass/FRM_Type
frameclass/FRM_[#?]Pen
top frameclass/--background--
NAME
Class: frameclass
Superclass: IMAGECLASS
Include File:
FUNCTION
To provide a general framing image. It has a set of built-in
framing and background types and the possibility to add hooks
for custom frames and backgrounds.
top frameclass/FRM_BackFill
NAME
FRM_BackFill -- ( ULONG )
FUNCTION
Set or get the built-in background type to use. You can select any of
the following types:
STANDARD_FILL -- Normal fill as you would expect from the selected
frame type.
SHINE_RASTER -- A raster with the SHINEPEN and BACKGROUNDPEN.
SHADOW_RASTER -- A raster with the SHADOWPEN and BACKGROUNDPEN.
SHINE_SHADOW_RASTER -- A raster with the SHINEPEN and SHADOWPEN.
FILL_RASTER -- A raster with the FILLPEN and BACKGROUNDPEN.
SHINE_FILL_RASTER -- A rster with the SHINEPEN and FILLPEN.
SHADOW_FILL_RASTER -- A raster with the SHADOWPEN and FILLPEN.
SHINE_BLOCK -- A SHINEPEN fill.
SHADOWBLOCK -- A SHADOWPEN fill.
Please note that setting any of the above backfill types except for
STANDARD_FILL will override the FRM_BackFillHook.
DEFAULT
STANDARD_FILL.
APPLICABILITY
(ISG).
SEE ALSO
, FRM_BackFillHook
top frameclass/FRM_CenterTitle
NAME
FRM_CenterTitle - ( BOOL )
FUNCTION
Set or clear the FRF_CENTER_TITLE flag.
DEFAULT
FALSE.
APPLICABILITY
(ISG).
SEE ALSO
FRM_Flags
top frameclass/FRM_CustomHook:FRM_BackFillHook
NAME
FRM_CustomHook, FRM_BackFillHook -- ( struct Hook * )
FUNCTION
Set or get custom framing and/or backfilling hooks. These hooks are
called as follows:
rc = hookFunc( hook, object, message );
D0 A0 A2 A1
The message packet can be a pointer to any of the following
structures:
struct FrameDrawMsg {
ULONG fdm_MethodID; /* FRM_RENDER */
struct RastPort *fdm_RPort;
struct DrawInfo *fdm_DrawInfo;
struct Rectangle *fdm_Bounds;
UWORD fdm_State;
UBYTE fdm_Horizontal; /* V41 */
UBYTE fdm_Vertical; /* V41 */
ULONG fdm_Flags; /* V41 */
};
fdm_RPort -- This points to the RastPort in which the frame/background
must be rendered.
fdm_DrawInfo -- This points to a DrawInfo structure as defined in
fdm_Bounds -- This points to a Rectangle structure in which the bounds
of the frame/background are stored.
fdm_State -- This holds the state in which you should render the frame
or background. Please refer to for
more information about rendering styles.
fdm_Horizontal, fdm_Vertical -- The vertical or horizontal thickness
of the frame. If zero, use default for that value. If you do
not wish to support custom frame thickness, ignore these.
fdm_Flags -- A copy of the flags for this frame; you may use this to
know if FRF_THIN_FRAME is set for the frame.
The FrameDrawMsg is sent to both the custom and backfill hooks when
they must render.
struct ThicknessMsg {
ULONG tm_MethodID; /* FRM_THICKNESS */
struct {
UBYTE *Horizontal;
UBYTE *Vertical;
} tm_Thickness;
BOOL tm_Thin;
};
tm_Thickness -- In this field you must store the thickness of the
frame lines. The thickness requested is the width in pixels of
the left OR right border (Horizontal) and the height in pixels
of the top OR bottom border (Vertical).
tm_Thin -- This field is added in V38 of the library. Do not attempt
to read it with lower versions of the library! When set to
TRUE you must give the thickness of the frame when it is in
thin (FRM_ThinFrame) mode.
The ThicknessMsg is only sent to the custom frame hook.
The hook routines must return any of the following return codes:
FRC_OK -- OK. Message understood and executed.
FRC_UNKNOWN -- Message not understood. The class will default in this
case.
DEFAULTS
NULL.
APPLICABILITY
(ISG)
SEE ALSO
,
top frameclass/FRM_EdgesOnly
NAME
FRM_EdgesOnly -- ( BOOL )
FUNCTION
Set or clear the FRF_EDGES_ONLY flags.
DEFAULT
FALSE.
APPLICABILITY
(ISG).
SEE ALSO
FRM_Flags
top frameclass/FRM_Flags
NAME
FRM_Flags -- ( ULONG )
FUNCTION
To initialize any of the following flags:
FRF_EDGES_ONLY -- Only the frame border is rendered when this flag is
set. The background isn't touched.
FRF_RECESSED -- Normally the frame is raised. With this flag set the
frame is recessed by default.
FRF_CENTER_TITLE -- Normally the frame title is rendered with the text
baseline on the top border of the frame. When this flag is set
the title is cenetered on the top border of the frame.
FRF_HIGHLIGHT_TITLE -- Normally the frame title is rendered with the
TEXTPEN. When this flag is set the title is rendered using the
HIGHLIGHTTEXTPEN.
FRF_THIN_FRAME -- This flag, when set, will halve the size of the
vertical borders of the frame. This looks a lot better on
screens width a 1:1 aspect ratio.
FRF_TITLE_LEFT ** V40 ** -- This flag, when set, will make the frame
title stick to the left side of the frame.
FRF_TITLE_RIGHT ** V40 ** -- This flag, when set, will make the frame
title stick to the right side of the frame.
DEFAULT
0.
APPLICABILITY
(ISG).
SEE ALSO
, FRM_Title, FRM_EdgesOnly, FRM_Recessed,
FRM_CenterTitle, FRM_HighlightTitle, FRM_ThinFrame
top frameclass/FRM_FrameHeight
NAME
FRM_FrameHeight -- ( UBYTE )
FUNCTION
Set or get the height in pixels of the top or bottom frame border.
Not all frame types support variable frame thickness.
APPLICABILITY
(ISG).
SEE ALSO
FRM_FrameWidth
top frameclass/FRM_FrameWidth
NAME
FRM_FrameWidth -- ( UBYTE )
FUNCTION
Set or get the width in pixels of the left or right frame border.
Not all frame types support variable frame thickness.
APPLICABILITY
(ISG).
SEE ALSO
FRM_FrameHeight
top frameclass/FRM_HighlightTitle
NAME
FRM_HighlightTitle -- ( BOOL )
FUNCTION
Set or clear the FRF_HIGHLIGHT_TITLE flag.
DEFAULT
FALSE.
APPLICABILITY
(ISG).
SEE ALSO
FRM_Flags
top frameclass/FRM_Recessed
NAME
FRM_Recessed -- ( BOOL )
FUNCTION
Set or clear the FRF_RECESSED flag.
DEFAULT
FALSE.
APPLICABILITY
(ISG).
SEE ALSO
FRM_Flags
top frameclass/FRM_Template
NAME
FRM_Template -- ( Object * )
FUNCTION
Copy all of the attributes of one frameclass object to another frameclass
object. This allows for fast duplication of many frame attributes at one
time. You may free the template object afterwards.
DEFAULT
NULL.
APPLICABILITY
(IS)
SEE ALSO
top frameclass/FRM_TextAttr
NAME
FRM_TextAttr -- ( struct TextAttr * )
FUNCTION
Set or get the font that is used to render the frame title. Please
note that this font is opened width OpenFont() and must be available
in memory.
DEFAULT
NULL.
APPLICABILITY
(ISG)
SEE ALSO
FRM_Title
top frameclass/FRM_ThinFrame
NAME
FRM_ThinFrame -- ( BOOL )
FUNCTION
Set or clear the FRF_THIN_FRAME flag.
DEFAULT
FALSE.
APPLICABILITY
(ISG).
SEE ALSO
FRM_Flags
top frameclass/FRM_Title
NAME
FRM_Title -- ( STRPTR )
FUNCTION
Set or get the frame title. Each frame can have a title in its top border.
This title can contain infoclass command sequences.
DEFAULT
NULL.
APPLICABILITY
(ISG).
SEE ALSO
FRM_TitleID, FRM_TextAttr, infoclass.doc/INFO_TextFormat
top frameclass/FRM_TitleID
NAME
FRM_TitleID -- ( ULONG ) ** V41 **
FUNCTION
Set or get the ID for FRM_Title. BASE_LOCALIZE uses this to set FRM_Title.
DEFAULT
0.
APPLICABILITY
(ISG).
SEE ALSO
FRM_Title, baseclass.doc/BASE_LOCALIZE
top frameclass/FRM_TitleLeft
NAME
FRM_TitleLeft -- ( BOOL ) ** V40 **
FUNCTION
To make the frame title appear and remain on the left side of the
frame instead of centering it.
DEFAULT
FALSE.
APPLICABILITY
(ISG).
SEE ALSO
FRM_TitleRight
top frameclass/FRM_TitleRight
NAME
FRM_TitleRight -- ( BOOL ) ** V40 **
FUNCTION
To make the frame title appear and remain on the right side of the
frame instead of centering it.
DEFAULT
FALSE.
APPLICABILITY
(ISG).
SEE ALSO
FRM_TitleLeft
top frameclass/FRM_Type
NAME
FRM_Type - ( ULONG )
FUNCTION
Set or get the type of the used framing. You can select any of the
following types:
FRTYPE_CUSTOM -- This is a custom framing type which is automatically
set when you supply a framing hook.
FRTYPE_BUTTON -- Standard button gadget frame. Normal bevel.
FRTYPE_RIDGE -- Standard string gadget frame. Outer 1/2 normal bevel,
inner 1/2 reverse bevel.
FRTYPE_DROPBOX -- Standard icon-dropbox frame. Outer 1/3 normal bevel,
middle 1/3 background, inner 1/3 reverse bevel.
FRTYPE_NEXT -- Standard NeXT frame. Outer 1/2 reverse bevel, inner 1/2
normal bevel (basically a recessed string gadget frame).
FRTYPE_RADIOBUTTON -- Standard MX gadget frame.
FRTYPE_XEN_BUTTON -- XEN style button frame.
FRTYPE_TAB_ABOVE, FRTYPE_TAB_BELOW -- ** V40 ** Two frame types which
are a normal button frame without the top or bottom. Usually
this is only used with pages and a tabs object.
FRTYPE_BORDER -- ** V40 ** A frame type which is best suited for
objects inside window borders. It is a button style frame
which always has thin lines.
FRTYPE_NONE -- ** V40 ** No frame is rendered but all features like
backfill hooks, titles etc. are available.
FRTYPE_FUZZ_BUTTON -- ** V41 ** Outer 1/4 normal bevel, inner 3/4 normal
bevel rastered 50% with frame.
DEFAULT
FRTYPE_BUTTON.
APPLICABILITY
(ISG).
SEE ALSO
FRM_CustomHook
top frameclass/FRM_[#?]Pen
NAME
FRM_BackPen : FRM_BackDriPen, ** V39 **
FRM_BackRasterPen : FRM_BackRasterDriPen, ** V41 **
FRM_SelectedBackPen : FRM_SelectedBackDriPen, ** V39 **
FRM_SelectedBackRasterPen : FRM_SelectedBackRasterDriPen ** V41 **
-- ( UWORD )
FUNCTION
To specify the background colors of a frame. Each pen may be specified
as a Pen or DrawInfo pen, these are mutually exclusive.
The frame may be one color, FRM_#?Back(Dri)Pen, or two colors, with the
second pen specified as FRM_#?BackRaster(Dri)Pen.
Finally, you can specify two states: the backfill of the frame in a normal
unselected state and the background fill of the frame in a selected state.
Specifying ~0 (-1) for the pens will deactivate the backfill and
the class will fall back to the default coloring sceme.
DEFAULTS
~0.
APPLICABILITY
(ISG).